Алгоритм Отзывов
При публикации новой игры, появляется уведомление после трех тиков (маленькие квадратики рядом с неделей), которая сообщает вам о новых отзывах. Эти отзывы имеют огромное влияние на продажи и на игровой счет. Попробуем объяснить как рассчитываются очки отзывов. В статье будет исследоваться логическая последовательность кода игры, для лучшего понимания исходных данных игры, если вы их изучаете. На одну игру создается один счет. Затем искусственно преобразуется для получения четырех результатов на странице с отзывами. Необходимые табличные данные будут в статье Исходные Данные Подготовка Идеальная оценка и техническая экспертиза Для каждой важной составляющей разработки, имеющую модификатор >= 0.9 для жанра игры, подсчитаем количество назначенных специалистов (с соответствующей направленностью развития). Пусть это число будет "ec". Первое что делает игра это проверяет возможно ли получить высший рейтинг. Если "ec" >= 2, высший балл из 10/10/10/10 возможен. В противном случае (в частности если размер игры маленький (small), вы не сможете назначить специалиста на конкретную часть игры) максимальный возможный балл всегда будет 10/10/10/9 Пусть "TL" будет технический уровень, заданный в Исходных Данных: тех уровень. Технический фактор вычисляется следующим образом Примеры и следствия *Для всех размеров игр только специалисты обуславливают возможна ли максимальная оценка(кроме малых, которым нельзя назначить специалистов) *Технический уровень оказывает влияние на оценку только для больших и ААА игр. Для больших игр, тех уровень больше 3 и для ААА игр с тех уровнем больше 5 не оказывают никакого дополнительного эффекта на счет. Кроме того, для ААА игр для увеличение счета нужен тех уровень хотя бы равный 3 (отметим, что для игр ААА класса модификатор "k" действительно рассчитывается от цифры 5, но снижен до 3) *Специалисты оказывают влияние на технический модификатор только для игр ААА-класса. Модификатор предыдущего рекорда Для каждой игры, вычисляется игровой счет - "g". (см. Калькуляцию Итогового Счета) Наивысший балл - самый высокий игровой счет (обновляется только при счете S>=9) Пусть "Y" модификатор в зависимости от текущего игрового года: Затем введем "b" фактор *Если у вас только одна игра с рейтингом >= 9, b = 2 *Если у вас две игры с рейтингом >= 9, b = **Что больше между: ((Лучший счет) - (второй счет)) и (0.1 * 2*Y)) **Но должно быть менее чем: 0.2 * Лучший счет или же он просто становится 0.2 * Лучший счет. *Если у вас три и более игр с рейтингом >= 9, b = ** Что является большим из: ((Лучший счет) - (второй счет)) и (0.1 * (Лучший счет + (Значение b для предыдущей игры)*Y)) ** Но должно быть менее 0.2 * Лучший счет иначе он становится 0.2 * Лучший счет. Короче говоря, чтобы точно знать фактор b, вы должны следить за ним со второй игры с рейтингом 9+, иначе вы вряд ли будете в нем уверены. Примечание: В любом случае b >= 1.12 (т.к. лучший счет >= 9, а Y >= 1.1) Тогда характеристика предыдущего модификатора следующая: Лучший счет + b * Y Или 20, если у вас еще нет Лучшего счета (то есть все ваши игры не дотянули до хорошего рейтинга в Постобработке) Расчет очков Отзывов Первый шаг состоит в вычислении фактора, который понадобится в дальнейшем: Расчет добротности *q (добротность) первоначально q = 0 *MMOMOD первоначально MMOMOD = 1, если ваша игра не MMO, MMOMOD = 2, если ММО. Баланс Технологии / Дизайна (учитывается только если сумма очков Дизайна и Технологий >= 30) Технология это цифры в синем кружочке, Дизайн - в оранжевом. Пусть R будет оптимальным соотношением для выбранного жанра из Исходных Данных: Тех/Дизайн коэффициент, T и D - технология и дизайн соответственно. t = (D * R - T)/max(T,D) *If |t| <= 0.25 : q увеличивается на 0.1, и в таблице отзывов появляется надпись "хорошее сочетание" *If |t| > 0.50 : q уменьшается на 0.1, и в таблице отзывов появляется надпись "плохое сочетание"(возможен разный перевод, неудачное сочетание, например. прим. ред.) *Другие значения : ничего не происходит *Пример: **Приключение (R = 0.4) разработали с очками: D(дизайн)=50 T(технология)=20 ***t = (50 * 0.4 - 20) / 50 = 0 - q увеличивается на 0.1, сообщение о "хорошем сочетании" высветилось **Экшн(боевик) (R = 1.8) разработали с очками D(дизайн)=50 T(технология)=20 ***t = (50 * 1.8 - 20) / 50 = 1.4 - q уменьшается на 0.1, надпись "неудачное сочетание" высветилось ''Дизайнерские решения'' : Соответствующие цифровые значения в Исходных Данных: Внимание к Разработке *Если вы использовали более 40% на фазу(на нижней составной временной панели, а не 40% на ползунке) дизайна >= 0.9: **2+ раза : q увеличивается на 0.2, и появляется сообщение "focus on X served game well" добавляется в выдачу отзывов **1 раз : q увеличивается на 0.1, без сообщений **Ни разу : q понижается на 0.15 * MMOMOD, без сообщений *Если вы использовали более 40% на фазу с < 0.8 : **Дважды : q уменьшается на 0.2 * MMOMOD, и появляется сообщение "focus on X is a bit odd" (уделенное внимание X кажется немного странным) **Единожды : q уменьшается на 0.1 * MMOMOD, без сообщений *Если вы использовали менее 20% на фазу >= 0.9 : **q уменьшается на 0.15 * MMOMOD, и появляется сообщение "shouldn't forget about X"(не стоит забывать о ..." каждый раз как это случается ''Изучение комбинаций'' : В случае многожанровых игр, значение всегда рассчитывается как 2/3 * Первый жанр + 1/3 * Второй жанр Тема / Жанр :: Посмотрите цифровые значения в Исходных Данных: Комбинации Темы/Жанра *<= 0.6 : "Strange combination"(странное сочетание) вылезает сообщение в отзыве. *= 1 : "Great combination"(хорошее сочетание) вылезает сообщение в отзыве. :: Примечание : на данном этапе нет штрафа к рейтингу для комбинаций подходящий/неподходящий Платформа/Жанр :: Смотрите цифровые значения в Исходных Данных: Комбинация Платформы / Жанра *<= 0.6 : "Genre does not work well on Platform"(говорится о несоответствии жанра платформе) всплывает сообщение в отзыве *= 1 : "Genre works well on Platform" (здесь наоборот, платформа соответсвует жанру) всплывает в отзыве Тема/Аудитория :: Смотрите цифровые значения в Исходных Данных: Комбинации Тема / Аудитория *<= 0.6 : Всплывает сообщение в отзыве "Theme is an horrible theme for Audience" (Для аудитории неподходящая тема) Различные проверки *Если сочетание Темы/Жанра/Второго жанра такие же как в предыдущей игре, то получаете штраф к q -0.4. *Если выпускаете сиквел (аддон) к игре выпущенной менее 40 недель назад, то получаете штраф к q -0.4 *Если игра является сиквелом (НЕ аддоном!) и использует тот же движок, что и предыдущая игра в серии, накладывается штраф в размере -0.1 к q *Если игра является сиквелом и использует лучший движок, чем в предыдущей игре, то к q накладывается бонус в размере 0.2 *Если игра ММО и комбинация Тема / Жанр < 1 (не соответствие темы жанру), то q уменьшается на 0.15 Расчет коэффициента ошибок(багов) в игре (только если есть ошибки, т.е. ошибки(баги) > 0, иначе коэффициент = 1) r = 1 - (0.8 * [ (# ошибок) * 100 / (Технология + Дизайн) ] / 100) Где [] означают, что "(число ошибок) * 100 / (Технология + Дизайн)" лежат в пределах от 0 до 100 *If r <= 0.6 a "Riddled with bugs"(наличествуют ошибки/баги) сообщение в отзывах *If r < 0.9 a "Too many bugs"(слишком много ошибок) сообщение в отзывах Коэффициент расчета тренда (тенденции) (только если есть тренд/тенденции иначе коэффициент = 1) В игре 4 типа тенденций/трендов: жанр, новая тема, аудитория и "странные комбинации"(странные сочетания). Если тип тренда Жанр / "Новая тема" / Аудитория. *если вы попали в тренд, t = 1.2. *если вы не попали в тренд, t = 1. Если тип тренда "Странные комбо(сочетания)", t зависит от значения Темы / Жанра (из исходных данных). *если значение = 1 (великое комбо), t = 0.85 *если значение = 0.9, t = 1.1 *если значение = 0.8, t = 1.2 *если значение < 0.8, t = 1.4 Да, вы получаете штраф за несоответствие тренду "Странное комбо" Расчет итоговых очков и Постобработка На этом этапе, создается п''ервая значимая оценка :''' *m = (Дизайн + Технологии) / (2 * Multiplier 2) (в Исходных Данных: Константы Размера) *p : Значение Платформы / Жанра value *o : Значение Тема / Аудитории *r : коэффициент ошибок(багов) (рассчитывался выше) *t : тренд фактор (рассчитывался выше) *h : Модификатор предыдущего рекорда *x : Фактор технической экспертизы *A значит ограничить A в предел от 1 до 10 : если A > 10 тогда A = 10, если A < 1 тогда A = 1, в остальных случаях A = A g = (m + q * m) * p * o * r * t g это игровой счет, который будет использоваться для обновления модификатора предыдущего игрового счета для следующей, если соблюдены условия из Алгоритма Отзывов#Постобработка Тогда, для остального процесса мы будем пользоваться очками отзывов: S = * g / h * x / 10 Постобработка Первый этап: : Первый этап постобработки происходит только при соблюдении определенных условий: *Оценка S должна быть >= 9 *Если добротность < 0.1, то с 80% вероятностью это произойдет. *Если ваш сотрудник ответственен за более чем 0.2 и менее чем 2 игр в его карьере, то это всегда происходит (обеспечивает S >= 9) (десятичные значения для средних и больших игр, когда сотрудник загружен на x%) : Затем генерируется случайное число: *75 % шанс того, что счет примет случайное значение в диапазоне ; 9.1 *25% шанс того, что счет примет случайное значение в диапазоне ; 9.25 Второй этап: : На втором этапе постобработки происходит только до 4 года, если игрок опубликовал менее 2 игр, получивших высокую оценку (условия получения в этом абзаце). Пусть S будет счет после первого этапа. *Если S = 10, то счет принимает случайное значение в диапазоне 8,95, но будет по прежнему считаться высокой оценкой(рекордом). *Если 10 > S >= 9, то оценка снижается на случайное число в диапазоне ; 1.25, но все еще считается высокой оценкой. *Если 9 > S > 8.5, то оценка снижается на случайное число в диапазоне ; 0.6, и НЕ будет считаться высокой оценкой. : Если счет по прежнему >= 9, то он засчитывается, как высокая оценка(рекорд). Если счет становится рекордом, и именно третьим, он произвольно становится 10. Поздравляем, теперь вы знаете, ваши реальные оценки в отзывах. Однако, есть последний шаг, чтобы увидеть его на экране: Экран отзывов "Настоящая" оценка сначала округляется вниз. Затем, оценка каждого рецензента и сообщение генерируются таким образом: #Определяется инфляция очков: #*К оценке добавляется случайное число : #**0 : 50% шанс #**1 : 25 % шанс #**-1 : 25 % шанс #*Тем не менее, если оценка 5 или 6, возможны следующие значения: #**0 : 50% шанс #**1 : 23.75% #**-1 : 23.75 % #**2 : 1.25 % #**-2 : 1.25 % #*Затем получившаяся оценка устанавливается в пределах от 1 до 10. (Например 11 становится 10, 0 становится 1, а все что внутри диапазона остается тем же. - прим. ред.) #Если мы генерируем четвертый результат и три предыдущий белы 10 и этот предполагается что тоже будет 10, тогда если высшая оценка не может быть достигнута (смотри Идеальная оценка и Тех Экспертиза), то оценка становится 9. #Генерирует сообщение: есть три очереди сообщений: хорошие, плохие (образуются в процессе расчета очков) и обычные #*Если оценка > 2 : некоторый шанс выпадения плохого сообщения, некоторый обычного #*Если оценка < 6 : выпадает хорошее сообщение или обычное #*В других случаях обычное сообщение #*Если не попалось ни хорошего ни плохого, то выпадает обычное.